package interfaces;

import java.io.IOException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Calendar;
import java.util.List;

import excepciones.ProductoException;
import excepciones.ProveedorException;

import beans.Compra;
import beans.OrdenCompra;
import beans.Producto;
import beans.Proveedor;

public interface AdministracionCentralInterface extends Remote{
	
	
	public  void generarOrdenCompra() throws RemoteException;
    
    public  void crearMovimiento(int idProducto, int  cantidad, Calendar fechaMovimiento, int idDeposito) throws RemoteException;
    
    public  void administrarPlanesProduccion() throws RemoteException;
   
    public  void checkearOfertas() throws RemoteException;
    
    public  void controlarCompras() throws RemoteException;
    
    public Producto buscarProducto ( int idProducto ) throws RemoteException, ProductoException;
  
    public Proveedor obtenerProveXNombre( String nombProve) throws RemoteException, ProveedorException;
    
    public void armarOCparaProveedores( OrdenCompra oc) throws IOException;

	public Producto obtenerProductoXNombre( String nombreProd )throws RemoteException, ProductoException;
    
	public List< Proveedor > obtenerProveedores () throws RemoteException;
	
//	public List< Producto > listaReposicionInsumos ( List<Producto> productosAComprar ) throws RemoteException;
	
	 public List<Producto> getProductosSolicitados() throws RemoteException;

	 public List<Compra> listaReposicionInsumos() throws RemoteException;

//	public void crearOrdenesDeCompra( List<Producto> productos ) throws RemoteException;
}
